package com.ourteam.product.ui.domain;
/**
 * Template Name : DTO数据对象 Template Version : 1 Template Last Modfiy Date : Fri Nov 30 16:49:33 CST
 * 2018 Auto Generate Date : 2018-12-14 15:16:02 Warning ! This file will be overwrite when
 * regenerate !
 */
import java.util.HashMap;
import java.util.Map;
import net.dao.IDataPopulateCallback;
import org.apache.commons.beanutils.BeanMap;
import org.apache.commons.lang.ArrayUtils;

public class ProductUIListBean implements java.io.Serializable {

  private static Map<String, String> mappedDaoFields = new HashMap<String, String>();

  private com.ourteam.product.ui.dao.ProductUIList productUIList;

  protected BeanMap getBeanMap() {

    return new BeanMap(productUIList);
  }

  static {
    mappedDaoFields.put("id", com.ourteam.product.ui.dao.IProductUIListDAO.Id);

    mappedDaoFields.put("domainId", com.ourteam.product.ui.dao.IProductUIListDAO.DomainId);

    mappedDaoFields.put("code", com.ourteam.product.ui.dao.IProductUIListDAO.Code);

    mappedDaoFields.put("name", com.ourteam.product.ui.dao.IProductUIListDAO.Name);

    mappedDaoFields.put("type", com.ourteam.product.ui.dao.IProductUIListDAO.Type);

    mappedDaoFields.put("dataProperty", com.ourteam.product.ui.dao.IProductUIListDAO.ValueProperty);

    mappedDaoFields.put(
        "labelProperty", com.ourteam.product.ui.dao.IProductUIListDAO.LabelProperty);

    mappedDaoFields.put(
        "lastModifyUser", com.ourteam.product.ui.dao.IProductUIListDAO.LastModifyUser);

    mappedDaoFields.put(
        "lastModifyTime", com.ourteam.product.ui.dao.IProductUIListDAO.LastModifyTime);

    mappedDaoFields.put("status", com.ourteam.product.ui.dao.IProductUIListDAO.Status);

    mappedDaoFields.put("remarks", com.ourteam.product.ui.dao.IProductUIListDAO.Remarks);

    mappedDaoFields.put("domainCode", com.ourteam.product.ui.dao.IProductUIListDAO.DomainCode);

    mappedDaoFields.put("domainName", com.ourteam.product.ui.dao.IProductUIListDAO.DomainName);

    mappedDaoFields.put("iconProperty", com.ourteam.product.ui.dao.IProductUIListDAO.IconProperty);

    mappedDaoFields.put("script", com.ourteam.product.ui.dao.IProductUIListDAO.Script);

    mappedDaoFields.put(
        "searchProperty", com.ourteam.product.ui.dao.IProductUIListDAO.SearchProperty);
  }

  public static String getMappedDAOField(String aAttrName) {
    return mappedDaoFields.get(aAttrName);
  }

  public ProductUIListBean() {
    super();

    this.productUIList = new com.ourteam.product.ui.dao.ProductUIList();
  }

  public ProductUIListBean(com.ourteam.product.ui.dao.ProductUIList productUIList) {
    super();

    this.productUIList = productUIList;
  }

  public com.ourteam.product.ui.dao.ProductUIList convertToProductUIList() {
    return this.productUIList;
  }

  public com.ourteam.product.ui.dao.ProductUIList convertTo() {
    return this.productUIList;
  }

  /**
   * Get id
   *
   * @return long
   */
  public long getId() {
    return (long) this.productUIList.getId();
  }

  /**
   * Set id
   *
   * @parameter long
   */
  public void setId(long id) {

    this.productUIList.setId(id);
  }

  /**
   * Get domainId
   *
   * @return long
   */
  public long getDomainId() {
    return (long) this.productUIList.getDomainId();
  }

  /**
   * Set domainId
   *
   * @parameter long
   */
  public void setDomainId(long domainId) {

    this.productUIList.setDomainId(domainId);
  }

  /**
   * Get code
   *
   * @return String
   */
  public String getCode() {
    return (String) this.productUIList.getCode();
  }

  /**
   * Set code
   *
   * @parameter String
   */
  public void setCode(String code) {

    this.productUIList.setCode(code);
  }

  /**
   * Get name
   *
   * @return String
   */
  public String getName() {
    return (String) this.productUIList.getName();
  }

  /**
   * Set name
   *
   * @parameter String
   */
  public void setName(String name) {

    this.productUIList.setName(name);
  }

  /**
   * Get type
   *
   * @return String
   */
  public String getType() {
    return (String) this.productUIList.getType();
  }

  /**
   * Set type
   *
   * @parameter String
   */
  public void setType(String type) {

    this.productUIList.setType(type);
  }

  /**
   * Get dataProperty
   *
   * @return String
   */
  public String getDataProperty() {
    return (String) this.productUIList.getValueProperty();
  }

  /**
   * Set dataProperty
   *
   * @parameter String
   */
  public void setDataProperty(String dataProperty) {

    this.productUIList.setValueProperty(dataProperty);
  }

  /**
   * Get labelProperty
   *
   * @return String
   */
  public String getLabelProperty() {
    return (String) this.productUIList.getLabelProperty();
  }

  /**
   * Set labelProperty
   *
   * @parameter String
   */
  public void setLabelProperty(String labelProperty) {

    this.productUIList.setLabelProperty(labelProperty);
  }

  /**
   * Get lastModifyUser
   *
   * @return String
   */
  public String getLastModifyUser() {
    return (String) this.productUIList.getLastModifyUser();
  }

  /**
   * Set lastModifyUser
   *
   * @parameter String
   */
  public void setLastModifyUser(String lastModifyUser) {

    this.productUIList.setLastModifyUser(lastModifyUser);
  }

  /**
   * Get lastModifyTime
   *
   * @return java.util.Date
   */
  public java.util.Date getLastModifyTime() {
    return (java.util.Date) this.productUIList.getLastModifyTime();
  }

  /**
   * Set lastModifyTime
   *
   * @parameter java.util.Date
   */
  public void setLastModifyTime(java.util.Date lastModifyTime) {

    this.productUIList.setLastModifyTime(lastModifyTime);
  }

  /**
   * Get status
   *
   * @return String
   */
  public String getStatus() {
    return (String) this.productUIList.getStatus();
  }

  /**
   * Set status
   *
   * @parameter String
   */
  public void setStatus(String status) {

    this.productUIList.setStatus(status);
  }

  /**
   * Get remarks
   *
   * @return String
   */
  public String getRemarks() {
    return (String) this.productUIList.getRemarks();
  }

  /**
   * Set remarks
   *
   * @parameter String
   */
  public void setRemarks(String remarks) {

    this.productUIList.setRemarks(remarks);
  }

  /**
   * Get domainCode
   *
   * @return String
   */
  public String getDomainCode() {

    return (String) this.productUIList.getDomainCode();
  }

  /**
   * Get domainName
   *
   * @return String
   */
  public String getDomainName() {

    return (String) this.productUIList.getDomainName();
  }

  /**
   * Get iconProperty
   *
   * @return String
   */
  public String getIconProperty() {
    return (String) this.productUIList.getIconProperty();
  }

  /**
   * Set iconProperty
   *
   * @parameter String
   */
  public void setIconProperty(String iconProperty) {

    this.productUIList.setIconProperty(iconProperty);
  }

  /**
   * Get script
   *
   * @return String
   */
  public String getScript() {
    return (String) this.productUIList.getScript();
  }

  /**
   * Set script
   *
   * @parameter String
   */
  public void setScript(String script) {

    this.productUIList.setScript(script);
  }

  /**
   * Get searchProperty
   *
   * @return String
   */
  public String getSearchProperty() {
    return (String) this.productUIList.getSearchProperty();
  }

  /**
   * Set searchProperty
   *
   * @parameter String
   */
  public void setSearchProperty(String searchProperty) {

    this.productUIList.setSearchProperty(searchProperty);
  }

  public int hashCode() {
    return org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(this);
  }

  public boolean equals(Object obj) {
    if (obj == null) {
      return false;
    } // end if

    if ((obj instanceof ProductUIListBean) == false) {
      return false;
    } // end if

    ProductUIListBean other = (ProductUIListBean) obj;

    boolean isEqual = false;

    com.ourteam.product.ui.dao.ProductUIList tempProductUIList = other.convertToProductUIList();

    if (tempProductUIList == null || this.productUIList == null) {
      isEqual = false;
    } else if (tempProductUIList == this.productUIList
        || tempProductUIList.equals(this.productUIList)) {
      isEqual = true;
    } else {
      isEqual = false;
    }

    return isEqual;
  }

  public static ProductUIListBean[] toArray(
      com.ourteam.product.ui.dao.ProductUIList[] aProductUILists) {

    return toArray(aProductUILists, null);
  }

  public static ProductUIListBean[] toArray(
      com.ourteam.product.ui.dao.ProductUIList[] aProductUILists, IDataPopulateCallback aCallBack) {

    if (ArrayUtils.isEmpty(aProductUILists)) {
      return new ProductUIListBean[0];
    }

    int length = aProductUILists.length;

    ProductUIListBean[] beans = new ProductUIListBean[length];

    for (int i = 0; i < length; i++) {
      beans[i] = new ProductUIListBean(aProductUILists[i]);
      if (aCallBack != null) {
        aCallBack.populate(beans[i], new Object[] {aProductUILists[i]});
      }
    }

    return beans;
  }
}
